package com.zhx.common.user.domain.entity;


import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

/**
 * @JsonIgnoreProperties(ignoreUnknown = true)这个注解的作用是告诉Jackson库在反序列化JSON到Java对象时，
 * 如果JSON中有一些属性在Java对象中不存在，那么这些属性将被忽略，不会被Java对象接收。换句话说，这个功能防止了因为JSON中存在一些Java对象中不存在的属性而导致的反序列化错误。
 * 例如，假设有一个Java类Person，它有两个属性name和age。现在有一个JSON字符串，它有一个额外的属性address。
 * 如果我们使用@JsonIgnoreProperties(ignoreUnknown = true)注解，那么即使JSON字符串中有address这个属性，它也不会导致反序列化错误，因为address这个属性在Person类中并不存在，所以会被忽略。
 * 这个功能在处理可能包含额外属性的JSON数据时非常有用，它可以防止因为额外的属性而导致的错误。
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class IpDetail {
    private String ip;
    private String isp;
    private String isp_id;
    private String city;
    private String city_id;
    private String country;
    private String country_id;
    private String region;
    private String region_id;

    /**
     * {
     *     "data": {
     *         "area": "",
     *         "country": "中国",
     *         "isp_id": "100017",
     *         "queryIp": "113.90.36.126",
     *         "city": "深圳",
     *         "ip": "113.90.36.126",
     *         "isp": "电信",
     *         "county": "",
     *         "region_id": "440000",
     *         "area_id": "",
     *         "county_id": null,
     *         "region": "广东",
     *         "country_id": "CN",
     *         "city_id": "440300"
     *     },
     *     "msg": "query success",
     *     "code": 0
     * }
     */
}
